aquí estoy tratando de obtener la instantánea de la colección ("mensajes") que contiene el documento, pero quiero obtener la instantánea de las colecciones que debe ordenarse por el campo de "marca de tiempo" de los documentos en orden descendente, ¿cómo podría hacerlo usando js v9 de firebase?
onSnapshot(collection(db,"channels",channelId,"messages"),(snapshot) => { setMessages(snapshot.docs.map(doc => doc.data())) })Puede usar la función query() para crear una consulta y luego la función orderBy() para especificar la restricción de consulta . Prueba lo siguiente:
import { collection, query, onSnapshot, orderBy } from "firebase/firestore" const colRef = collection(db, "channels", channelId, "messages"), orderBy('timemstamp', 'desc')) const q = query(colRef, orderBy("timestamp", "desc")) onSnapshot(q, (snapshot) => { setMessages(snapshot.docs.map(doc => doc.data())) })